package com.uum.blog.service;

import java.util.Map;
import java.util.Set;

public interface RedisService {
    /**
     * 创建点赞评论的Key
     *
     * @param key
     * @return
     */
    String createLikeKey(Long key);

    /**
     * 点赞评论
     *
     * @param commentId 评论ID
     * @param userId    点赞用户ID
     * @return
     */
    Long saveLike(Long commentId, Long userId);

    /**
     * 统计该评论下的点赞数量
     *
     * @param commentId
     * @return
     */
    Long countLike(Long commentId);

    /**
     * 列举该评论下的点赞的用户ID
     *
     * @param commentId
     * @return
     */
    Set listLike(Long commentId);

    /**
     * 点灭评论
     *
     * @param commentId
     * @param userId
     * @return
     */
    Long deleteLike(Long commentId, Long userId);

    /**
     * 删除评论
     *
     * @param commentId
     * @return
     */
    Boolean deleteComment(Long commentId);

    /**
     * 列举缓存中所有点赞过的评论
     *
     * @return
     */
    Set<Map> listAllLike();

    /**
     * 删除缓存中所有点赞过的评论
     *
     * @return
     */
    Long delAllLike();

}
